package com.yxzz.core.mapper;

import com.yxzz.core.domain.PHealthHistory;
import com.yxzz.core.domain.PPatient;

import java.util.List;

/**
 * 病人信息Mapper接口
 * 
 * @author ruoyi
 * @date 2023-02-28
 */
public interface PPatientMapper 
{
    /**
     * 查询病人信息
     * 
     * @param id 病人信息主键
     * @return 病人信息
     */
    public PPatient selectPPatientById(Long id);

    /**
     * 查询病人信息列表
     * 
     * @param pPatient 病人信息
     * @return 病人信息集合
     */
    public List<PPatient> selectPPatientList(PPatient pPatient);

    /**
     * 新增病人信息
     * 
     * @param pPatient 病人信息
     * @return 结果
     */
    public int insertPPatient(PPatient pPatient);

    /**
     * 修改病人信息
     * 
     * @param pPatient 病人信息
     * @return 结果
     */
    public int updatePPatient(PPatient pPatient);

    /**
     * 删除病人信息
     * 
     * @param id 病人信息主键
     * @return 结果
     */
    public int deletePPatientById(Long id);

    /**
     * 批量删除病人信息
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePPatientByIds(Long[] ids);

    /**
     * 批量删除病人健康史
     * 
     * @param ids 需要删除的数据主键集合
     * @return 结果
     */
    public int deletePHealthHistoryByPatientIds(Long[] ids);
    
    /**
     * 批量新增病人健康史
     * 
     * @param pHealthHistoryList 病人健康史列表
     * @return 结果
     */
    public int batchPHealthHistory(List<PHealthHistory> pHealthHistoryList);
    

    /**
     * 通过病人信息主键删除病人健康史信息
     * 
     * @param id 病人信息ID
     * @return 结果
     */
    public int deletePHealthHistoryByPatientId(Long id);

    /**
     * 查询病人信息列表
     *
     * @param ids 病人信息
     * @return 病人信息集合
     */
    public List<PPatient> selectPPatientListByIds(Long[] ids);
}
